/*
 * 文件名：DicMananger.java	 
 * 时     间：下午4:52:25
 * 作     者：liyf       
 * 版     权： 2012-2022 湖南智软网络科技, 公司保留所有权利.
 * 联     系：http://www.073586.com/
 */
package com.local.manager.dic;

import com.cz073586.tools.util.Tools;
import com.local.model.LocalTemporaryCheck;
import com.local.service.face.LocalTemporaryCheckService;
import com.qianhai.common.spring.utils.SpringContextUtil;

/**
 * 类描述:数据字典管理类,如:临停限制、进场是否覆盖、车位数已满等。必须保证字典值在更改时设置该值
 * 
 * @ClassName: DicMananger
 * @author liyf
 * @date 2016年6月13日 下午4:52:25
 */
public class DicMananger
{
	private static DicMananger instance;
	
	/**
	 * 车辆重复进场时是否覆盖开关,true【覆盖】 false【弹框提示】
	 */
	private volatile boolean isReptCarNoWhenCarIn;
	
	/**
	 * 初始化数据 Constructor
	 */
	private DicMananger()
	{
		// 进场重复是否覆盖
		iniRptCarNoDic();
	}
	
	/**
	 * 
	 * 方法描述：
	 * 
	 * @Title: iniRptCarNoDic
	 * @param
	 * @return void
	 * @user liyf 2016年6月13日
	 * @throws
	 */
	private void iniRptCarNoDic()
	{
		// 初始化重复进场是否覆盖, 重复进场，判断开关1，关闭则，覆盖[isReptCarNoWhenCarIn=true] 2.开启则弹框
		LocalTemporaryCheckService rptService = SpringContextUtil
				.getApplicationContext().getBean(
						LocalTemporaryCheckService.class);
		
		if (Tools.isEmpty(rptService))
		{
			return;
		}
		
		LocalTemporaryCheck lc = rptService.queryLocalTemporaryCheck();
		
		if (Tools.isEmpty(lc))
		{
			isReptCarNoWhenCarIn = true;
			return;
		}
		
		if (lc.getRepeatType().equalsIgnoreCase("2"))
		{
			isReptCarNoWhenCarIn = false;
			return;
		}
		
		//默认为覆盖模式
		isReptCarNoWhenCarIn = true;
	}
	
	/**
	 * 
	 * 方法描述：获取实例对象.
	 * 
	 * @Title: instance
	 * @param @return
	 * @return DicMananger
	 * @user liyf 2016年6月13日
	 * @throws
	 */
	public static DicMananger instance()
	{
		if (null == instance)
		{
			instance = new DicMananger();
		}
		
		return instance;
	}
	
	public void setReptCarNoWhenCarIn(boolean isReptCarNoWhenCarIn)
	{
		this.isReptCarNoWhenCarIn = isReptCarNoWhenCarIn;
	}
	
	public boolean isReptCarNoWhenCarIn()
	{
		return isReptCarNoWhenCarIn;
	}
	
}
